<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        /*
        1、题目描述：
        找出元素 item 在给定数组 arr 中的位置
        输出描述:
        如果数组中存在 item，则返回元素在数组中的位置，否则返回 -1
        示例1  indexOf
        输入
        [ 1, 2, 3, 4,3 ], 3
        输出
        2
        
        function indexOf(arr, item) {
        
        }
        */
        console.log(`======= 第1题 =======`);
        function indexOf(arr, item) {
            const lala=[]
            var gugu=-1
                for (let index = 0; index < arr.length; index++) {
                    arr[index]==item?lala.push(index):1
                }
               return lala.length==0? gugu:lala
                
            }
            var arr =[ 1, 2, 3, 4, 3];
            var area = indexOf(arr,3);
            console.log(area);

        /*
        2、题目描述：
        计算给定数组 arr 中所有元素的总和 reduce() every()(some()) map() filter() forEach()
        输入描述:
        数组中的元素均为 Number 类型
        示例1
        输入
        
        [ 1, 2, 3, 4 ]
        输出
        
        10
        
        function sum(arr) {
        
        }
        */
        console.log(`======= 第2题 =======`);
        function ss(arr) {
            var sum=0; 
            arr.forEach(element =>sum+=element);
            return sum;
        }
        var arr=[ 1, 2, 3, 4 ]
        var sum = ss(arr)
        console.log(sum);

        /*
        3、题目描述
        在数组 arr 末尾添加元素 item。不要直接修改数组 arr，结果返回新的数组
        示例1
        输入
        
        [1, 2, 3, 4],  10
        输出
        
        [1, 2, 3, 4, 10]
        
        function append(arr, item) {
            
        }
        */
        console.log(`======= 第3题 =======`);
        function append(arr, item) {
            var huhu = [];
            arr.forEach(element => huhu.push(element));
            huhu.push(item);
            return huhu
        }
        var arr=[ 1, 2, 3, 4 ]
        var add=append(arr,10)
        console.log(add);
        console.log(arr);
        /*
        4、题目描述
        合并数组 arr1 和数组 arr2。不要直接修改数组 arr，结果返回新的数组
        示例1
        输入
        
        [1, 2, 3, 4], ['a', 'b', 'c', 1]
        输出
        
        [1, 2, 3, 4, 'a', 'b', 'c', 1]
        
        function concat(arr1, arr2) {
        
        }
        */
        console.log(`======= 第4题 =======`);
        var a= [1, 2, 3, 4];
        var b= ['a', 'b', 'c', 1];
        function all(a,b){
            var huhu=[];
            huhu=a.concat(b);
            return huhu;
        }
        var togther=all(a,b);
        console.log(togther);
        /*
        5、题目描述
        为数组 arr 中的每个元素求二次方。不要直接修改数组 arr，结果返回新的数组
        示例1
        输入
        
        [1, 2, 3, 4]
        输出
        
        [1, 4, 9, 16]
        
        function square(arr) {
        
        }
        */
        console.log(`======= 第5题 =======`);
        var arr = [1, 2, 3, 4];
        function log(arr){
            var huhu=[];
            arr.forEach(element=>huhu.push(element*element));
            return huhu;
        }
        var arry=log(arr)
        console.log(arry);
    </script>
</body>
</html>